' Convert to oh b+ 2021-03-24 _Title "Particle Fountain" 'b+ 2020-08-27
' sorry way, way, way too slow cut particle from 30,000 to 500 and still!
np = 200
i = 0
[
	i = a[i,1]
	jmp gt[i,np]
	gs new\
]
ink 150;150;255
paper 0;34;0
lp = 0
[
    cls
    if lt[lp,np] 
		lp = a[lp,1]
	fi
	i = 0
    [
		i = a[i,1]
		jmp gt[i,lp]
		set dy;i;a[get[dy,i],.3]
		set x;i;a[get[x,i],get[dx,i]]
        set y;i;a[get[y,i],get[dy,i]]
        if or[lt[get[x,i],x[.2,xmax]],gt[get[x,i],x[.8,xmax]]]
			gs new\
		fi
        if and[gt[get[y,i],ymax],gt[get[dy,i],0]]
			set dy;i;x[-.75,get[dy,i]]
			set y;i;s[ymax,5]
		fi
        circ get[x,i];get[y,i];get[r,i]
    ]
    show 1
    'wait .016
]
end
new\
	' . i
    set x;i;a[d[xmax,2],rnd[14],-7]
    set y;i;a[ymax,rnd[5]]
    set dx;i;s[rnd[2],1]
    set dy;i;-14
    set r;i;a[rnd[4],1]
rtn

